   1 .BASE CONVERSION
   2 . RON MCCOY
   3 .  MAY 30, 1979
   4 .SZ=385
   5 :return 
  10 clear 
  20 print "input KNOWN BASE
  30 print "   B,D,H OR O";print 
  40 P=KP;if (P="B")+(P="D")+(P="H")+(P="O")goto 60
  50 print "*INVALID-TRY AGAIN*";goto 240
  60 if P="D"input "input #"S;goto 240
  70 print "input (W/ LEADING 0'S
  90 if P="O"goto 180
 100 if P="B"goto 510
 109 .HEX TO DECIMAL
 110 A=10;B=11;C=12;D=13;E=14;F=15
 120 print "4 DIGIT HEX #
 130 input W,X,Y,Z
 140 if (W>7)+(X>15)+(Z>15)print "TOO BIG";goto 120
 150 S=(4096mul W)+(256mul X)+(16mul Y)+Z
 160 goto 220
 179 .OCTAL to DECIMAL
 180 print "5 DIGIT OCTAL #
 190 input V,W,X,Y,Z
 200 if (V>7)+(W>7)+(Y>7)+(Z>7)print "TOO BIG;goto 180
 210 S=(4096mul V)+(512mul W)+(64mul X)+(8mul Y)+Z
 220 print ;print #1,S," DECIMAL
 239 .BINARY to DECIMAL
 240 Q=Sdiv 2
 250 O=RM
 260 for R=311to 324
 270 Q=Qdiv 2
 280 gosub R
 290 next R
 300 goto 330
 311 N=RM
 312 M=RM
 313 L=RM
 314 K=RM
 315 J=RM
 316 I=RM
 317 H=RM
 318 G=RM
 319 F=RM
 320 E=RM
 321 D=RM
 322 C=RM
 323 B=RM
 324 A=RM;return 
 330 print #1,A,B,C," ",D,E,F,G," ",H,I,J,K," ",L,M,N,O," BINARY
 339 .BINARY to HEX
 340 Z=O+(2mul N)+(4mul M)+(8mul L);if Z>9Z=Z+7
 350 Z=Z+48
 360 Y=K+(2mul J)+(4mul I)+(8mul H);if Y>9Y=Y+7
 370 Y=Y+48
 380 X=G+(2mul F)+(4mul E)+(8mul D);if X>9X=X+7
 390 X=X+48
 400 W=C+(2mul B)+(4mul A)
 410 W=W+48
 419 .BINARY to OCTAL
 420 V=O+(2mul N)+(4mul M)
 430 U=L+(2mul K)+(4mul J)
 440 T=I+(2mul H)+(4mul G)
 450 S=F+(2mul E)+(4mul D)
 460 R=C+(2mul B)+(4mul A)
 480 TV=W;TV=X;TV=Y;TV=Z;print " HEX
 490 print #1,R,S,T,U,V," OCTAL
 500 print ;goto 20
 509 print "TOO BIG
 510 print "15 DIGIT BINARY #
 520 input A,B,C,D,E,F,G,H,I,J,K,L,M,N,O
 530 if (A>1)+(B>1)+(C>1)+(D>1)+(E>1)+(F>1)+(G>1)+(H>1)+(I>1)+(J>1)+(K>1)+(L>1)+(M>1)+(N>1)+(O>1)goto 509
 540 S=(16384mul A)+(8192mul B)+(4096mul C)+(2048mul D)+(1024mul E)+(512mul F)+(256mul G)+(128mul H)+(64mul I)+(32mul J)+(16mul K)+(8mul L)
 550 S=S+(4mul M)+(2mul N)+O
 560 goto 220
:return ;run 
